Skip to main content

TODO — NVIDIA GPU (nvidia-smi)

Verify and document GPU support on msi-laptop-3. Relevant if APIs use the ml Docker image (tsai/PyTorch) or other GPU workloads.

Status: Host driver verified — nvidia-smi OK (2026-06-05)

Hardware (msi-laptop-3): NVIDIA GeForce RTX 4070 Max-Q / Mobile (AD106M, PCI 01:00.0)

Installed driver: nvidia-driver-595-open — NVRM 595.71.05, CUDA 13.2 (driver report)


Goal

  • nvidia-smi runs without error on the host
  • Driver version and GPU model recorded below
  • (If using GPU in Docker) nvidia-container-toolkit installed and docker run --gpus all works
  • Decision documented: GPU required in prod vs slim (sklearn) only — slim for now; ml image if tsai/GPU needed

Step 1 — Check current state

nvidia-smi
lspci | grep -i nvidia
ubuntu-drivers devices
OutcomeNext step
nvidia-smi worksRecord output in Server values; skip to Docker step if needed
Command not foundInstall drivers (Step 2)
NVIDIA-SMI has failedDriver/kernel mismatch — reinstall or reboot (Step 3)
No NVIDIA in lspciConfirm discrete GPU in this laptop model / BIOS

Step 2 — Install drivers (Ubuntu 24.04 Server)

Your ubuntu-drivers devices output recommends nvidia-driver-595-open for the RTX 4070 Max-Q. Install that (or let Ubuntu pick automatically).

sudo apt update
sudo apt install -y ubuntu-drivers-common linux-headers-$(uname -r)
sudo ubuntu-drivers install

This should select nvidia-driver-595-open.

sudo apt update
sudo apt install -y linux-headers-$(uname -r)
sudo apt install -y nvidia-driver-595-open

Do not install only nvidia-utils-595 — that is the CLI tools without the full kernel driver.

Install takes a few minutes (DKMS builds the kernel module). Then reboot:

sudo reboot

After reboot, SSH back in and verify:

nvidia-smi

Expected: table showing RTX 4070, driver version ~595.x, CUDA version line.

Record output in Server values below.

Older reference (generic)

sudo apt update
sudo apt install -y ubuntu-drivers-common
ubuntu-drivers devices

# Auto-install recommended proprietary driver (note package name from output):
sudo ubuntu-drivers install

sudo reboot

Step 3 — Troubleshooting

# Kernel module loaded?
lsmod | grep nvidia

# DKMS / build errors
sudo dmesg | grep -iE 'nvidia|nouveau' | tail -30
journalctl -b | grep -i nvidia | tail -30

# Conflicting nouveau driver (usually blacklisted by nvidia packages)
cat /proc/driver/nvidia/version 2>/dev/null
IssueAction
Secure Boot blocks moduleDisable Secure Boot in BIOS or enroll MOK for signed modules
Wrong driver for GPUMatch ubuntu-drivers devices recommendation
Still fails after installTry sudo apt install --reinstall nvidia-driver-* matching version

Step 4 — Docker GPU (optional, for ml image)

Only if containers need GPU access:

# NVIDIA container toolkit
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | \
sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg

curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

sudo apt update
sudo apt install -y nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker

# Test
sudo docker run --rm --gpus all nvidia/cuda:12.0.0-base-ubuntu22.04 nvidia-smi

Compose: add to service when needed:

deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [gpu]

(or runtime: nvidia / device_requests depending on compose version — update this doc when implemented.)


Relation to dwd-api-fastapi

ImageGPU needed?
slim (default prod)No — sklearn fallback
ml (tsai + PyTorch)Yes — for GPU-accelerated training/inference

Current production deploy uses slim. GPU setup is optional until ml image is required.


Server values (fill in when done)

ItemValue
GPU modelGeForce RTX 4070 Max-Q / Mobile (AD106M), 8188 MiB
Recommended drivernvidia-driver-595-open
Driver version595.71.05 (Open Kernel Module)
CUDA (driver report)13.2
nvidia-smi verified2026-06-05
Container GPU testedNo — not required for slim API image
NotesPersistence mode Off; no GPU processes at verify time. Laptop power readout in nvidia-smi may look odd (mobile sensors).

Checklist summary

  • nvidia-smi on host
  • Values recorded above
  • README TODO marked done
  • nvidia-container-toolkit (only if Docker GPU needed)